package com.jbp.model;

import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 钱包变动记录(WalletRecord)实体
 * @author cc
 * @since 2020-06-20 09:43:00
 */
@Data
public class WalletRecord implements Serializable {
    private static final long serialVersionUID = 1L;
        
    
    private Integer id;

    //用户id
    @ApiModelProperty(value="用户id")
    private Integer userId;

    //货币类型  xinzuan, aixin    
    @ApiModelProperty(value="货币类型  xinzuan, aixin ")
    private String coinType;

    //增减  add增  sub减    
    @ApiModelProperty(value="增减  add增  sub减 ")
    private String addType;

    //操作类型 'pay 充值','mention 提现','lucky 抽奖消费','send_gift 房间刷礼物','recive_gift 礼物收入'
    // ,exchange 爱心兑换, hdxh 活动消耗，hbin 红包收入, hbout 发红包,lsfc 流水分成
    // invite 邀请奖励， beinvited被邀请奖励 buy_equip购买装扮， skillin 派单收入，skillout 派单支出, skillrefund 派单退款
    // buykey 购买钥匙
    @ApiModelProperty(value="操作类型 ")
    private String operationType;

    //变动前余额    
    @ApiModelProperty(value="变动前余额 ")
    private BigDecimal beforeBalance;

    //变动金额    
    @ApiModelProperty(value="变动金额 ")
    private BigDecimal changeBalance;

    //变动后余额    
    @ApiModelProperty(value="变动后余额 ")
    private BigDecimal afterBalance;

    //创建时间    
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    //修改时间    
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value="用户名 ")
    @TableField(exist = false)
    private String userName;

    @ApiModelProperty(value="用户头像 ")
    @TableField(exist = false)
    private String userImg;

    @ApiModelProperty(value="用户性别")
    @TableField(exist = false)
    private String userSex;

    @ApiModelProperty(value="用户等级")
    @TableField(exist = false)
    private int userLevel;

    @TableField(exist = false)
    private boolean userLevelOn;

}